REST(Representational State Transfer,表述性狀態轉移)是一種基於 Web 的 API 設計風格,由 Roy Fielding 在 2000 年提出。RESTful API 是一種遵循 REST 架構風格的 API,旨在簡單、高效且具可擴展性。RESTful API 主要依賴於 HTTP 協議,並使用其常見方法來進行資源的操作:
這些方法組合成一個統一的接口,通過這種方式,可以用一致的方式對不同的資源進行操作,從而達到標準化和簡單易用的目的。
在 RESTful API 中,路由(Route)用來定義 API 的端點,即客戶端請求資源時的 URL。路由的設計直接影響到 API 的可讀性、可用性和擴展性,因此需要遵循一定的原則:
/products
作為資源的路由,而不是 /getProducts
或 /createProduct
。具體的操作由 HTTP 方法來決定,而不是由 URL 來指定。GET /products # 獲取所有產品
GET /products/{id} # 獲取特定產品
POST /products # 創建新產品
PUT /products/{id} # 更新特定產品
DELETE /products/{id} # 刪除特定產品
/products
而不是 /product
作為路由。GET /categories/{category_id}/products # 獲取特定分類下的產品
避免動詞:除非是對資源的某些特殊操作,否則應該避免在路由中使用動詞。操作的性質應該通過 HTTP 方法來表達,而不是通過 URL,也就是說不是透過getProducts這種方式來取得資料
支持filter與paging:在處理大型數據集時,支持過濾和分頁可以提高 API 的效率和性能。例如,通過添加查詢參數來過濾產品或限制返回的結果數量:
GET /products?category=electronics&limit=10
理解 RESTful API 的基本概念和設計原則,是撰寫高質量 API 的關鍵。在 Odoo 中,這些原則同樣適用,通過合理的路由設計和正確的 HTTP 方法使用,我們可以構建出靈活且易於維護的 API。這些 API 不僅能夠支持系統內部的各種業務邏輯。在接下來的文章中,我們將繼續探討如何基於 Odoo 的 Addons 架構撰寫 API 並使用 Postman 進行測試。